const fs = require('fs');
const xlsx = require('xlsx');
const { changeArrayToObject, changeKeyTwo, changeKeyOne } = require('./utils');

const changeList = {
  Sheet5: {
    changeObj: {
      企业名称: 'computedName',
      溯源概率: 'probability',
    }
  },
  Sheet4: {
    changeObj: {
      预警点位: 'warnPoint',
      是否报警: 'whetherAlert',
      预警原因: 'reasonForEarlyWarning'
    }
  },
  Sheet3: {
    changeObj: {
      '监测井点位': 'mwl',
      '1，2-二氯乙烷': 'Dichloroethane',
      '氯乙烯': 'Chloride',
      '苯乙烯': 'Styrene',
      '氯苯': "Chlorobenzene",
      '间&对-二甲苯': 'mpx',
      '氰化物': 'Cyanide',
      '硫酸盐': 'Sulfate',
      'TDS': 'tds',
      '氯化物': 'Chl',
      'COD(Mn)(括号里面的Mn为下标）': 'cod',
      '砷': 'Arsenic',
      '硒': 'Selenium',
      '铬（六价）': 'Chromium ',
      '铅': 'Lead',
      '汞': 'Mercury'
    }
  },
  Sheet2: {
    changeObj: {
      '监测时间': 'Monitoring',
      'pH': 'ph',
      'COD(mg/L)': 'cod',
      '硫酸盐(mg/L)': 'Sulfate',
      '氨氮(mg/L)': 'an',
      'BOD5（5为下标，单位：mg/L）': 'bod5',
      '总氮(mg/L)': 'tn',
      '总磷(mg/L)': 'tp',
      '氰化物（mg/L）': 'cyanide',
      '1，2-二氯乙烷': 'Dichloroethane',
      '氯乙烯': 'Chloride',
      '苯乙烯': 'Styrene',
      '氯苯': 'Chlorobenzene',
      '间&对-二甲苯': 'mpx'
    }
  },
}
const getExcelData = () => {
  // 读取xlsx文件
  const workbook = xlsx.readFile(process.cwd() + '/src/node/data.xlsx');
  // 获取第一个工作表
  workbook.SheetNames.slice(1).map(val => {
    const workSheet = workbook.Sheets[val];
    // 将工作表转换为JSON

    const jsonData = xlsx.utils.sheet_to_json(workSheet, {
      header: 1,
      defval: '',
    });
    // // 将二维数组数据转换成对象数组
    const newData = changeArrayToObject({
      sheetData: jsonData,
      changeObj: changeList[val].changeObj,
    });
    /*
    先清空文件内容再重新写入
    */
    // 清空文件内容
    fs.writeFile(process.cwd() + '/src/node/' + val + '.json', '', (err) => {
      if (err) {
        console.error('Error clearing file content:', err);
        return;
      }
      // 写入文件内容
      fs.writeFile(
        process.cwd() + '/src/node/' + val + '.json',
        JSON.stringify(newData),
        (err) => {
          if (err) {
            console.error('Error writing to file:', err);
          } else {
            console.log('File content has been updated successfully!');
          }
        },
      );
    });
  })

};
getExcelData()
